<?php

namespace App\Http\Controllers\admin;

use Illuminate\Http\Request;

use App\Http\Requests;
use App\Http\Controllers\Controller;
use DB;
class UserController extends Controller
{
    /**
     *  用户管理列表显示
     */
    public function getIndex(Request $request)
    {
        // 接受搜索的关键字
        $search = $request -> input('search','');
       
        // 接受每页显示的条数
        $count = $request -> input('count',10);
        
        // 获取用户表(user)里面的数据信息
        $data = DB::table('user') -> where('username','like','%'.$search.'%') -> orderBy('id','asc') -> paginate($count);
        
        // 加载模板 并且传数据
        return view('admin.user.index',['data'=>$data,'request'=>$request -> all()]);
    }

    /**
    *   用户管理的删除，用于删除用户
    */
    public function getDelete(Request $request)
    {
        // 接受删除操作传过来的用户ID
        $id = $request -> input('id');
        
        // 获取userdetail中UID为$id的用户信息  用于删除服务器中的图片(头像)
        $data = DB::table('userdetail') -> where('uid','=',$id) ->first();
        
        // 从数据表user里删除ID为$id的用户 返回影响行数
        $res1 = DB::table('user') -> where('id','=',$id) -> delete();
       
        // 判断返回的影响行数 把操作的结果压入session
        if ($res1 > 0) {
            // 从数据表userdetail中删除UID为$id的用户信息 返回影响行数
            $res2 = DB::table('userdetail') -> where('uid','=',$id) -> delete();
            
            // 删除服务器中的图片(头像)
            if ($data['photo'] != '/adminassets/photo/default.jpg') {
                $res3 = unlink('.'.$data['photo']);
            }
            
            if ($res > 2) {
                return redirect('/admin/user/index') -> with('success','删除成功');
            } else {
                return back() -> with('error','用户详情删除失败');
            }
            
        } else {
            return back() -> with('error','删除失败');
        }
    }

    /**
    *   用于用户状态的修改 0为开启 1为禁用
    */
    public function getUpdate(Request $request)
    {   
        // 只接受用户的ID和status
        $arr = $request -> only('id','status');
       
        // 修改数据库中用户ID的status
        $res = DB::table('user') -> where('id','=',$arr['id']) -> update(['status'=>$arr['status']]);
        
        // 判断返回的影响行数 把操作的结果压入session
        if ($arr['status'] == 1) {
            if ($res > 0) {
                return redirect('/admin/user/index') -> with('success','禁用成功');
            } else {
                return back() -> with('error','禁用失败');
            }
        } else {
            if ($res > 0) {
                return redirect('/admin/user/index') -> with('success','开启成功');
            } else {
                return back() -> with('error','开启失败');
            }
        }
    }

    /**
    *   用户信息详情展示
    */
    public function getUserdetail(Request $request)
    {
        // 接受用户详情的ID
        $arr = $request -> only('id');
       
        // 获取用户表(userdetail)里面的数据信息
        $data = DB::table('userdetail') 
            -> join('user','userdetail.uid','=','user.id')
            -> select('userdetail.*','user.username')
            -> where('uid','=',$arr['id']) 
            -> first();
       
        // 加载模板 并且传数据
        return view('admin.user.userdetail',['data'=>$data]);
    }
}
